Firebase Authentication হল একটি শক্তিশালী সিস্টেম যা অ্যাপ্লিকেশনগুলির জন্য বিভিন্ন ধরনের প্রমাণীকরণ পদ্ধতি যেমন ইমেইল/পাসওয়ার্ড, গুগল সাইন-ইন, এবং ফেসবুক সাইন-ইন সাপোর্ট করে। Firebase Authentication এর মাধ্যমে অ্যাপ্লিকেশনে সহজে ব্যবহারকারীদের সাইন-ইন এবং সাইন-আপ প্রক্রিয়া যোগ করা যায়।
নিচে Email, Google, এবং Facebook Authentication Firebase এর মাধ্যমে কিভাবে ইন্টিগ্রেট করবেন তা বিস্তারিতভাবে দেখানো হলো।
1. Firebase Authentication Setup
১.১ Firebase Console এ অ্যাপ যোগ করা
- Firebase Console এ যান: Firebase Console.
- নতুন একটি প্রজেক্ট তৈরি করুন অথবা আপনার বিদ্যমান প্রজেক্টে যান।
- Authentication এর সেকশন নির্বাচন করুন এবং Get Started বাটনে ক্লিক করুন।
- এরপর আপনাকে যে পদ্ধতিগুলি ব্যবহার করতে চান তা নির্বাচন করতে হবে (Email, Google, Facebook)।
2. Email/Password Authentication
২.১ Firebase SDK ইনস্টলেশন
প্রথমে Firebase SDK ইনস্টল করতে হবে। আপনার Ionic অ্যাপের প্রজেক্ট ডিরেক্টরিতে গিয়ে নিচের কমান্ডটি রান করুন:
npm install firebase @angular/fire
২.২ Firebase Configuration
Firebase এ গিয়ে আপনার প্রজেক্টের কনফিগারেশন কোডটি কপি করুন এবং app.module.ts ফাইলে এটি যুক্ত করুন।
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicModule } from '@ionic/angular';
import { AngularFireModule } from '@angular/fire';
import { AngularFireAuthModule } from '@angular/fire/auth';
import { AppComponent } from './app.component';
const firebaseConfig = {
apiKey: 'your-api-key',
authDomain: 'your-auth-domain',
projectId: 'your-project-id',
storageBucket: 'your-storage-bucket',
messagingSenderId: 'your-sender-id',
appId: 'your-app-id',
};
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
IonicModule.forRoot(),
AngularFireModule.initializeApp(firebaseConfig),
AngularFireAuthModule
],
bootstrap: [AppComponent]
})
export class AppModule {}
২.৩ Email/Password Sign Up and Sign In
Email ও Password দিয়ে সাইন আপ এবং সাইন ইন করার জন্য নিচের কোড ব্যবহার করুন:
Sign Up (ইমেইল এবং পাসওয়ার্ড দিয়ে)
import { AngularFireAuth } from '@angular/fire/auth';
constructor(private afAuth: AngularFireAuth) {}
signUp(email: string, password: string) {
this.afAuth.createUserWithEmailAndPassword(email, password)
.then(userCredential => {
console.log('User signed up:', userCredential.user);
})
.catch(error => {
console.error('Error signing up:', error);
});
}
Sign In (ইমেইল এবং পাসওয়ার্ড দিয়ে)
signIn(email: string, password: string) {
this.afAuth.signInWithEmailAndPassword(email, password)
.then(userCredential => {
console.log('User signed in:', userCredential.user);
})
.catch(error => {
console.error('Error signing in:', error);
});
}
3. Google Authentication
৩.১ Firebase Console এ Google Authentication Enable করা
- Firebase Console এ Authentication > Sign-in method এ গিয়ে Google সাইন-ইন পদ্ধতি সক্রিয় করুন।
৩.২ Google Sign-In Code
Google সাইন-ইন যোগ করার জন্য GoogleAuthProvider ব্যবহার করতে হবে।
import { AngularFireAuth } from '@angular/fire/auth';
import firebase from 'firebase/app';
import 'firebase/auth';
constructor(private afAuth: AngularFireAuth) {}
googleSignIn() {
const provider = new firebase.auth.GoogleAuthProvider();
this.afAuth.signInWithPopup(provider)
.then(result => {
console.log('Google sign-in success:', result.user);
})
.catch(error => {
console.error('Google sign-in error:', error);
});
}
এই কোডের মাধ্যমে গুগল অ্যাকাউন্টের মাধ্যমে সাইন-ইন করা সম্ভব হবে।
4. Facebook Authentication
৪.১ Firebase Console এ Facebook Authentication Enable করা
- Firebase Console এ Authentication > Sign-in method এ গিয়ে Facebook সাইন-ইন পদ্ধতি সক্রিয় করুন।
- Facebook Developer Console এ গিয়ে App ID এবং App Secret পাবেন, সেগুলি Firebase Console এ যুক্ত করুন।
৪.২ Facebook SDK ইনস্টল করা
Facebook সাইন-ইন করার জন্য FacebookAuthProvider ব্যবহার করতে হবে। এছাড়া, Facebook SDK ইনস্টল করা প্রয়োজন।
npm install cordova-plugin-facebook4
npm install @ionic-native/facebook
৪.৩ Facebook Sign-In Code
import { AngularFireAuth } from '@angular/fire/auth';
import { Facebook } from '@ionic-native/facebook/ngx';
constructor(private afAuth: AngularFireAuth, private facebook: Facebook) {}
facebookSignIn() {
this.facebook.login(['public_profile', 'email'])
.then(response => {
const facebookCredential = firebase.auth.FacebookAuthProvider.credential(response.authResponse.accessToken);
this.afAuth.signInWithCredential(facebookCredential)
.then(userCredential => {
console.log('Facebook sign-in success:', userCredential.user);
})
.catch(error => {
console.error('Facebook sign-in error:', error);
});
})
.catch(error => {
console.error('Facebook login error:', error);
});
}
5. Sign Out
সবগুলো সাইন-ইন পদ্ধতির জন্য একই সাইন-আউট কোড ব্যবহার করা যাবে:
signOut() {
this.afAuth.signOut()
.then(() => {
console.log('User signed out');
})
.catch(error => {
console.error('Error signing out:', error);
});
}
সারাংশ
Firebase Authentication এর মাধ্যমে আপনি সহজে Email, Google, এবং Facebook দিয়ে ইউজার প্রমাণীকরণ ইন্টিগ্রেট করতে পারেন। এটি সাইন-ইন ও সাইন-আউট পরিচালনা করার জন্য একটি নিরাপদ ও সহজ পদ্ধতি প্রদান করে এবং Firebase এর অন্যান্য সেবার সঙ্গে ইন্টিগ্রেটেড কাজ করতে সহায়তা করে। Firebase Authentication ব্যবহার করলে আপনি বিভিন্ন প্ল্যাটফর্মে দ্রুত এবং নিরাপদভাবে ব্যবহারকারীদের প্রমাণীকরণ সম্পন্ন করতে পারবেন।
Read more